home *** CD-ROM | disk | FTP | other *** search
- 1 REM WUG BY JAMES HORN
- 2 REM CSERVE ID: 74616,131
- 3 REM C64 ARCADE TYPE GAME
- 4 REM RESUBMITTED BY TED BERNHARDI 1/89
- 5 GOTO500
- 10 IFPEEK(17153)AND16THEN70
- 20 SYS16896:IFPEEK(17152)<>42THEN40
- 30 SC=SC+5:PRINTTAB(22-LEN(STR$(SC)))SC;CHR$(145):ND=ND+1:IFND=NNTHEN290
- 40 F=INT(RND(1)*(24/BS-1)):POKE17166,48+(F+1)*BS*8:SYS16688
- 50 F=INT(RND(1)*(36/BS+1)):E=30+BS*F*8:F=EAND256:E=E-F:POKE17167,E
- 60 POKE17168,F/8:SYS16782:GOTO10
- 70 POKES+11,33:FORF=100TO20STEP-10:FORE=FTOF-10STEP-1:POKES+8,E:NEXT
- 80 FORE=F-10TOF-5:POKES+8,E:NEXTE,F:POKES+11,0:FORF=1TO2000:NEXT:POKEV+21,0
- 85 NM(CP)=NM(CP)-1:GOSUB140:IFNM(CP)=0THENGOSUB155:IFCP=PLTHENSC(CP)=SC:GOTO175
- 93 IFPL=1THEN450
- 95 SC(CP)=SC:ND(CP)=ND:CP=ABS(CP-3):SC=SC(CP):NN=NN(CP):ND=ND(CP):BS=BS(CP)
- 100 POKE648,4+(CP-1)*44:POKEV+24,(PEEK(V+24)AND15)OR(16+(CP-1)*176)
- 105 GOSUB170:IFNM(CP)=3THEN300
- 110 GOTO440
- 125 POKE214,7:PRINT:FORF=0TO6:PRINTTAB(15)Z$;CHR$(145):FORE=0TO300:NEXT
- 130 PRINTTAB(15)" "CHR$(145):REM 9 SPACES
- 135 FORE=0TO300:NEXTE,F:RETURN
- 140 E=9:IFBS=4THENE=5
- 145 POKE214,E:PRINT:PRINTTAB(17)" "CHR$(145):REM 5 SPACES
- 150 PRINTTAB(23-NM(CP)*2)LEFT$(C$,NM(CP)*2):RETURN
- 155 Z$="GAME OVER":GOSUB125:RETURN
- 160 Z$="PLAYER "+STR$(CP):GOSUB125:RETURN
- 165 Z$="GET READY":GOSUB125:RETURN
- 170 F=7+44*(CP-1):POKE16749,F:POKE16839,F:POKE16983,F:POKE16902,2-CP:RETURN
- 175 CP=0:IFSC(2)>HSTHENHS=SC(2):CP=2
- 178 IFSC(1)>HSTHENHS=SC(1):CP=1
- 181 IFCP=0THEN200
- 184 PRINTCHR$(147):PRINTTAB(13)"GREAT SCORE!":PRINT:PRINT:IFPL=1THEN188
- 186 PRINTTAB(15)"PLAYER"CP:PRINT
- 188 PRINT:PRINTTAB(16-LEN(STR$(HS))/2)"SCORE:"HS
- 189 POKE214,10:PRINT:HS$="":PRINTTAB(9)"ENTER YOUR INITIALS"
- 190 PRINT:PRINTTAB(8)"ERASE WITH THE '"CHR$(95)"' KEY":PRINT
- 191 PRINTTAB(8)"END BY PRESSING RETURN":POKE214,18:PRINT:FORF=1TO10:GETZ$:NEXT
- 192 PRINTCHR$(145)TAB(16)HS$" ":REM 5 SPACES
- 194 GETZ$:IFZ$=""THEN194
- 195 IFZ$=CHR$(95)ANDLEN(HS$)>0THENHS$=LEFT$(HS$,LEN(HS$)-2):GOTO192
- 196 IFASC(Z$)=13THEN200
- 197 IFZ$<"A"ORZ$>"Z"THEN194
- 198 IFLEN(HS$)>4THEN194
- 199 HS$=HS$+Z$+" ":GOTO192
- 200 E=PEEK(V+23):PRINTCHR$(147):POKEV+24,(PEEK(V+24)AND15)OR16:POKE648,4
- 205 POKEV+21,1:FORF=1TO10:GETZ$:NEXT:IFHS=0THEN220
- 210 POKE214,6:PRINT:PRINTTAB(14)"HIGH SCORE":PRINT
- 215 PRINTTAB(16-LEN(STR$(HS))/2)HS$;HS
- 220 POKE214,19:PRINT:PRINTTAB(6)"PRESS: 'F1' FOR ONE PLAYER":PRINT
- 230 PRINTTAB(13)"'F3' FOR TWO PLAYERS"
- 240 E=ABS(E-1):POKEV+21,0:POKEV+23,E:POKEV+29,E:POKEV,152+12*(1-E)
- 250 POKEV+21,1:POKES+4,17:POKE2,5:F=0
- 255 GETZ$:IFZ$>CHR$(132)ANDZ$<CHR$(135)THENPL=ASC(Z$)-132:GOTO280
- 270 F=F+1:IFF=25THEN240
- 275 GOTO255
- 280 POKEV+21,0:CS(1)=0:CS(2)=0:SC(1)=0:SC(2)=0:NM(1)=3:NM(2)=3:CP=1:SC=0
- 285 ND(1)=0:ND(2)=0:C$="X X X ":GOSUB170:GOTO300
- 290 CS(CP)=CS(CP)+1:POKES+11,33:FORF=20TO100STEP10:POKES+8,F:FORE=1TO20
- 295 NEXTE,F:POKES+11,0:FORF=1TO2000:NEXT:POKEV+21,0
- 300 PRINTCHR$(147):F=CS(CP)/3:FORA=0TO7:POKE14672+A,0:NEXT:IFF>2THENF=2
- 305 ONF+1GOTO310,340,370
- 307 PRINT:PRINT" ";:U$="*":FORE=1TO37:PRINTU$;:NEXT:PRINT:RETURN
- 310 FORF=0TO7:IFF>0THENGOSUB307
- 316 U$=CHR$(174)+"*"+CHR$(176):FORE=1TO13:PRINTU$;:NEXT:PRINT
- 319 U$=CHR$(189)+"*"+CHR$(173):FORE=1TO13:PRINTU$;:NEXTE,F:BS(CP)=3:GOTO391
- 340 FORF=0TO5:IFF>0THENGOSUB307
- 346 U$=CHR$(174)+"*"+CHR$(176):FORE=1TO9:PRINTU$CHR$(192);:NEXT:PRINTU$
- 349 U$=CHR$(221)+"*"+CHR$(221):FORE=1TO9:PRINTU$" ";:NEXT:PRINTU$
- 352 U$=CHR$(189)+"*"+CHR$(173):FORE=1TO9:PRINTU$CHR$(192);:NEXT:PRINTU$;:NEXT
- 355 POKE214,4:PRINT:BS(CP)=4:E=4:GOTO394
- 370 FORF=0TO3:IFF>0THENGOSUB307
- 376 U$=CHR$(174)+"*"+CHR$(176)+CHR$(192)+CHR$(192)+CHR$(192):PRINTU$U$U$U$U$U$;
- 379 PRINTMID$(U$,1,3):FORE=0TO2
- 382 U$=CHR$(221)+"*"+CHR$(221)+" ":PRINTU$U$U$U$U$U$;:PRINTMID$(U$,1,3):NEXT
- 388 U$=CHR$(189)+"*"+CHR$(173)+CHR$(192)+CHR$(192)+CHR$(192):PRINTU$U$U$U$U$U$;
- 389 PRINTMID$(U$,1,3);:NEXT:BS(CP)=6
- 391 POKE214,6:PRINT:E=2
- 394 U$=CHR$(192):PRINTTAB(14)CHR$(176)U$U$U$U$U$U$U$U$U$CHR$(174)
- 397 FORF=0TOE:U$=CHR$(221):PRINTTAB(14)U$" "U$:NEXT:REM 9 SPACES
- 400 U$=CHR$(192):PRINTTAB(14)CHR$(173)U$U$U$U$U$U$U$U$U$CHR$(189)
- 412 BS=BS(CP):G=(CP-1)*11264:FORF=1063TO2023STEP40:POKEF+G,160:POKEF+S,11:NEXT
- 421 NN=24/BS*37+(36/BS+1)*24/BS*(BS-1)-46-18*(1-INT(BS/6)):NN(CP)=NN:ND=0
- 427 ND(CP)=0:POKE1523+G,32:FORA=1024TO1062:POKEA+G,0:POKEA+960+G,0:NEXT
- 430 FORA=1024TO1984STEPBS*40:POKEA+G,0:POKEA+38+G,0:NEXT:FORA=0TO2
- 433 F=INT(RND(1)*(917-BS*80))+1065+BS*40:IFPEEK(F+G)<>42THEN433
- 436 D=0:FORE=0TOA-1:B=ABS(B(CP,E)-F):C=B/40:IFB<40ORC=INT(B/40)THEND=1
- 438 NEXT:IFD=1THEN433
- 439 POKEF+G,91:B(CP,A)=F:NEXT:GOSUB140
- 440 F=CS(CP):F=F-INT((F)/6)*6:E=CC(F,0):A=9-F+INT((BS(CP)-4)/2)
- 441 IFCS(CP)>11THENA=5
- 442 POKE16860,A:POKE16757,A
- 444 POKE16641,7+44*(CP-1):POKE16683,1:POKE16679,127:POKE16680,176:SYS16640
- 445 FORA=0TO7:POKE14672+A,PEEK(15296+E*8+A):NEXT
- 447 F=CC(F,1):POKE16683,F:POKE16679,42:POKE16680,208:SYS16640
- 449 FORA=0TO2:POKEB(CP,A)+S,1:NEXT:IFPL=2THENGOSUB160:GOTO452
- 450 GOSUB165
- 452 POKE214,7:PRINT:PRINTTAB(17)"SCORE":IFBS(CP)=4THENPRINT
- 454 PRINTTAB(22-LEN(STR$(SC)))SC;CHR$(145)
- 456 POKEV+8,173:POKEV+9,142:POKEV+16,0:F=PEEK(53278)
- 459 FORF=0TO7:POKEF+17158,0:NEXT:FORF=10TO13:POKEV+F,0:NEXT
- 462 POKE17057,243:POKE17058,5+44*(CP-1):SYS17108:POKE17153,0
- 465 POKE2044+(CP-1)*11264,220:POKE251,0:POKE253,0:POKEV+21,112:GOTO10
- 500 POKE52,48:POKE56,48:CLR
- 503 BS=0:E=0:F=0:SC=0:ND=0:NN=0:V=53248:S=54272:DIMCC(6,1),B(2,2),A(31)
- 506 PRINTCHR$(147)CHR$(142)CHR$(8)CHR$(5):POKEV+32,11:POKEV+33,0
- 510 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251:FORF=0TO2047
- 515 POKEF+14336,PEEK(F+53248):NEXT:POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1
- 520 POKE53272,(PEEK(53272)AND240)+14
- 525 REM *** COLOR FRUIT ON SCREEN ***
- 530 E=0:FORF=0TO47:READA:POKEF+16640,A:E=E+A:NEXT
- 535 IFE<>5305THENPRINT"ERROR IN DATA LINES 540-590":END
- 540 DATA 169,7,141,37,65,169,219,141,46
- 550 DATA 65,160,0,32,35,65,162,4,160
- 560 DATA 231,32,35,65,136,208,250,206
- 570 DATA 37,65,206,46,65,202,208,241,96
- 580 DATA 185,0,7,201,42,208,5,169,14
- 590 DATA 153,0,219,96
- 600 REM *** ARROW MOVEMENT ***
- 610 E=0:FORF=0TO147:READA:POKEF+16384,A:E=E+A:NEXT
- 615 IFE<>17648THENPRINT"ERROR IN DATA LINES 630-795":END
- 620 SYS 16384
- 630 DATA 173,21,3,201,64,240,24,120,173
- 640 DATA 20,3,141,146,64,173,21,3,141
- 650 DATA 147,64,169,32,141,20,3,169,64
- 660 DATA 141,21,3,88,96,165,251,16,45
- 670 DATA 41,63,170,206,12,208,208,8,173
- 680 DATA 16,208,73,64,141,16,208,165
- 690 DATA 251,41,64,133,206,173,16,208
- 700 DATA 41,64,197,206,208,11,173,12
- 710 DATA 208,197,252,208,4,134,251,240
- 720 DATA 3,202,208,214,165,253,16,20,41
- 730 DATA 63,170,206,11,208,173,11,208
- 740 DATA 197,254,208,4,134,253,240,3
- 750 DATA 202,208,239,173,30,208,44,83
- 760 DATA 64,240,19,141,1,67,162,127,44
- 770 DATA 21,64,240,2,134,253,44,124,64
- 780 DATA 240,2,134,251,165,2,240,9,198
- 790 DATA 2,208,5,169,0,141,4,212,76,49
- 795 DATA 234
- 800 REM *** SPRITE DATA ***
- 805 FORF=0TO583:POKEF+13760,0:NEXT
- 810 F=13824:FORC=0TO5:READB:FORE=0TOB
- 820 FORA=0TO1:READA(E*2+A)
- 830 POKEF,A(E*2+A):F=F+1:NEXT:F=F+1
- 840 NEXT:F=F+INT(B/5-1)*11:FORE=BTO0STEP-1
- 850 FORA=0TO1:POKEF,A(E*2+A):F=F+1:NEXT
- 860 F=F+1:NEXT:F=F+58-B*3*(INT((15-B)/8)+1):NEXT
- 870 DATA 5,3,131,15,135,30,15,56,30,120
- 880 DATA 252,255,252,5,193,192,225,240
- 890 DATA 240,120,120,28,63,30,63,255,15
- 900 DATA 6,0,15,0,31,128,63,192,127,224
- 910 DATA 102,96,230,112,198,48,207,48
- 920 DATA 15,0,15,0,31,128,63,192,127
- 930 DATA 224,240,240,224,112,6,1,69,1
- 940 DATA 69,0,68,0,68,36,84,36,84,213
- 950 DATA 85,6,81,64,81,64,17,0,17,0,21
- 960 DATA 24,21,24,85,86,15,3,0,3,0,9
- 970 DATA 128,9,128,5,64,5,64,65,4,65,4
- 980 DATA 85,84,85,84,5,64,5,64,85,84,85
- 990 DATA 84,65,4,65,4
- 1000 REM *** HORIZ. ARROW SETUP ***
- 1005 E=0:FORF=0TO88:READA:POKEF+16688,A:E=E+A:NEXT
- 1010 IFE<>10539THENPRINT"ERROR IN DATA LINES 1015-1120":END
- 1015 DATA 165,251,201
- 1020 DATA 127,176,72,173,9,67,240,14
- 1030 DATA 206,9,67,208,62,174,10,67,189
- 1040 DATA 127,65,133,251,96,169,48,141
- 1050 DATA 21,208,173,10,67,73,1,141,10
- 1060 DATA 67,170,189,129,65,141,39,64
- 1070 DATA 189,131,65,133,252,189,133,65
- 1080 DATA 141,12,208,189,135,65,141,254
- 1090 DATA 7,173,14,67,141,13,208,169,10
- 1100 DATA 141,9,67,169,112,141,21,208
- 1110 DATA 96,132,196,206,238,4,89,74,14
- 1120 DATA 216,217
- 1130 REM *** VERT. ARROW SETUP ***
- 1135 E=0:FORF=0TO93:READA:POKEF+16782,A:E=E+A:NEXT
- 1140 IFE<>11560THENPRINT"ERROR IN DATA LINES 1145-1260":END
- 1145 DATA 165,253
- 1150 DATA 201,127,176,81,173,11,67,240
- 1160 DATA 10,206,11,67,208,71,169,132
- 1170 DATA 133,253,96,169,80,141,21,208
- 1180 DATA 173,12,67,73,1,141,12,67,170
- 1190 DATA 189,129,65,141,88,64,189,230
- 1200 DATA 65,133,254,189,232,65,141,11
- 1210 DATA 208,189,234,65,141,253,7,173
- 1220 DATA 15,67,141,10,208,120,173,16
- 1230 DATA 208,41,223,13,16,67,141,16
- 1240 DATA 208,88,169,10,141,11,67,169
- 1250 DATA 112,141,21,208,96,30,254,244
- 1260 DATA 39,218,219
- 1270 REM *** PLAYER SPRITE MVMENT ***
- 1275 E=0:FORF=0TO223:READA:POKEF+16896,A:E=E+A:NEXT
- 1280 IFE<>23745THENPRINT"ERROR IN DATA LINES 1290-1415":END
- 1290 DATA 169,2,141,2,67,173,0,220,41
- 1295 DATA 15,10,10,170,160,3,189,0,68
- 1300 DATA 153,2,67,232,136,208,246,32
- 1305 DATA 164,66,141,0,67,201,32,240,36
- 1310 DATA 201,42,208,11,169,17,141,4
- 1315 DATA 212,169,5,133,2,208,21,32,212
- 1320 DATA 66,206,2,67,240,105,162,3,189
- 1325 DATA 5,67,157,2,67,202,208,247,240
- 1330 DATA 210,162,3,189,2,67,157,5,67
- 1335 DATA 202,208,247,173,3,67,141,252
- 1340 DATA 7,174,5,67,240,41,24,173,8
- 1345 DATA 208,125,24,67,141,8,208,173
- 1350 DATA 13,67,125,25,67,141,13,67,10
- 1355 DATA 10,10,10,141,29,67,120,173,16
- 1360 DATA 208,41,239,13,29,67,141,16
- 1365 DATA 208,88,16,13,24,174,4,67,189
- 1370 DATA 24,67,109,9,208,141,9,208,162
- 1375 DATA 2,189,185,66,157,160,66,202
- 1380 DATA 208,247,169,32,141,244,5,96
- 1385 DATA 174,5,67,240,5,32,192,66,208
- 1390 DATA 11,173,4,67,240,10,9,4,170,32
- 1395 DATA 192,66,173,244,5,96,169,0,96
- 1400 DATA 24,173,186,66,125,16,67,141
- 1405 DATA 186,66,173,187,66,125,17,67
- 1410 DATA 141,187,66,96,162,2,189,160
- 1415 DATA 66,157,185,66,202,208,247,96
- 1420 REM *** MVMENT & JYSTK DATA ***
- 1425 FORF=0TO11:READA:POKEF+17169,A:NEXT
- 1430 DATA 1,0,255,255,40,0,216,255,8,0
- 1440 DATA 248,255
- 1450 E=17427:FORF=0TO10:FORE=E+1TOE+2:READA:POKEE,A:NEXTE,F
- 1460 DATA 1,0,221,1,0,221,1,0,221,0,0,0
- 1470 DATA 3,0,220,3,0,220,3,0,220,0,0,0
- 1480 DATA 0,1,223,0,3,222,0,0,0
- 1500 REM *** FRUIT CHARACTERS ***
- 1503 FORF=0TO39:READA:POKEF+15296,A:NEXT
- 1505 DATA 0,60,102,102,126,126,60,0
- 1508 DATA 0,60,126,126,126,126,60,0,0
- 1510 DATA 32,96,112,120,62,30,0,0,54
- 1520 DATA 60,126,126,126,60,0,0,102,24
- 1530 DATA 126,126,60,24,0
- 1540 FORF=0TO5:READA,B:CC(F,0)=A:CC(F,1)=B:NEXT
- 1550 DATA 1,13,0,6,4,10,3,13,1,8,2,7
- 1590 FORF=0TO2:READA:FORE=0TO7:POKE13760+E*3+F,PEEK(14392+A*8+E):NEXTE,F
- 1600 DATA 16,14,0
- 1620 POKEV,164:POKEV+1,70:POKEV+28,16:POKEV+39,3:POKEV+43,1:POKEV+37,14
- 1625 POKEV+38,5:POKEV+44,7:POKEV+45,7:POKEV+23,0:POKEV+29,0:POKE2040,215
- 1630 FORE=0TO24:POKES+E,0:NEXT:POKES,31:POKES+1,21:POKES+6,240
- 1640 POKES+13,240:POKES+24,15:GOTO200
-